#include "park.h"
#include "ui_widget.h"
#include "car.h"
#include "messages.h"
#include <QDebug>
#include <vector>
#include <QInputDialog>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    m = new Messages;
}

Widget::~Widget()
{
    delete m;
    delete ui;
}

void Widget::on_pushButton_4_clicked()//主界面的入库按钮
{
    qDebug()<<"车辆进入便道(入库)";
    bool isEn = false;
    int c_id = QInputDialog::getInt(this,tr("进入车辆信息登记"),tr("请输入车辆车牌号(11111~99999)"),0,11111,99999,1,&isEn);
    if(isEn)//点击ok执行
    {
        car* c1 = new car;
        c1->id = c_id;
        record *r1 = new record;
        r1->inadd(*c1);
        rec.append(*r1);
        qDebug()<<"元素遍历";
        for (int i=0; i<rec.count(); i++)
        {
            qDebug() << "Id =" << rec[i].c_r->id << "enterTime =" << rec[i].inP<<"outTime = "<<rec[i].outP<<"money = "<<rec[i].moneyP;
            if(rec[i].isAd)
            {qDebug()<<"进入车位过了";}
            else
            {qDebug()<<"没有进入过车位";}
        }
        QString cannelText = "登记总车辆数："+QString().number(rec.count());
        ui->label_9->clear();
        ui->label_9->setText(cannelText);
    }
}

void Widget::on_pushButton_clicked()//101位 入车
{
    if(ven[0].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[0].inadd(rec[i]);
//        m->rec_m[0].setisAd();
        QString venueText = "101位已入车 牌号："+QString().number(ven[0].rec_v->c_r->id);
        ui->label->clear();
        ui->label->setText(venueText);
    }
}

void Widget::on_pushButton_2_clicked()//101 出车
{
    if(!ven[0].isempty)
    {
        ven[0].out();
//        m->rec_m[0].outadd();
        m->rec_m.append(*ven[0].rec_v);
        ui->label->setText("101位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}

void Widget::on_pushButton_5_clicked()//102 入车
{
    if(ven[1].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[1].inadd(rec[i]);
//        m->rec_m[1].setisAd();
        QString venueText = "102位已入车 牌号："+QString().number(ven[1].rec_v->c_r->id);
        ui->label_3->clear();
        ui->label_3->setText(venueText);
    }
}

void Widget::on_pushButton_6_clicked()//102 出车
{
    if(!ven[1].isempty)
    {
        ven[1].out();
//        m->rec_m[1].outadd();
        m->rec_m.append(*ven[1].rec_v);
        ui->label_3->setText("102位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}

void Widget::on_pushButton_7_clicked()//103 入车
{
    if(ven[2].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[2].inadd(rec[i]);
//        m->rec_m[2].setisAd();
        QString venueText = "103位已入车 牌号："+QString().number(ven[2].rec_v->c_r->id);
        ui->label_4->clear();
        ui->label_4->setText(venueText);
    }
}

void Widget::on_pushButton_8_clicked()//103 出车
{
    if(!ven[2].isempty)
    {
        ven[2].out();
//        m->rec_m[2].outadd();
        m->rec_m.append(*ven[2].rec_v);
        ui->label_4->setText("103位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}

void Widget::on_pushButton_9_clicked()//104 入车
{
    if(ven[3].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[3].inadd(rec[i]);
//        m->rec_m[3].setisAd();
        QString venueText = "104位已入车 牌号："+QString().number(ven[3].rec_v->c_r->id);
        ui->label_5->clear();
        ui->label_5->setText(venueText);
    }
}

void Widget::on_pushButton_10_clicked()//104 出车
{
    if(!ven[3].isempty)
    {
        ven[3].out();
//        m->rec_m[3].outadd();
        m->rec_m.append(*ven[3].rec_v);
        ui->label_5->setText("104位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}

void Widget::on_pushButton_11_clicked()//105 入车
{
    if(ven[4].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[4].inadd(rec[i]);
//        m->rec_m[0].setisAd();
        QString venueText = "105位已入车 牌号："+QString().number(ven[4].rec_v->c_r->id);
        ui->label_6->clear();
        ui->label_6->setText(venueText);
    }
}

void Widget::on_pushButton_12_clicked()//105 出车
{
    if(!ven[4].isempty)
    {
        ven[4].out();
        m->rec_m.append(*ven[4].rec_v);
        ui->label_6->setText("105位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}

void Widget::on_pushButton_13_clicked()//106 入车
{
    if(ven[5].isempty)//车位 空-》非空
    {
        qDebug()<<"元素遍历";
        int i = 0;
        bool jud = false;
        for (i=0; i<rec.count(); i++)
        {
            if(!rec[i].isAd)
            {
                jud = true;//如果此时没有一辆车等待那么jud = false 直接跳过 ，不操作
                break;
            }
        }
        if(!jud){
            qDebug()<<"退出";
            return;}
        qDebug()<<"选中的车辆Id:"<<rec[i].c_r->id;
        ven[5].inadd(rec[i]);
//        m->rec_m[5].setisAd();
        QString venueText = "106位已入车 牌号："+QString().number(ven[5].rec_v->c_r->id);
        ui->label_7->clear();
        ui->label_7->setText(venueText);
    }
}

void Widget::on_pushButton_14_clicked()//106 出车
{
    if(!ven[5].isempty)
    {
        ven[5].out();
//        m->rec_m[5].outadd();
        m->rec_m.append(*ven[5].rec_v);
        ui->label_7->setText("106位 空");
    }
    else
    {
        qDebug()<<"空";
    }
}


void Widget::on_pushButton_3_clicked()
{
    qDebug()<<"打开新窗口";
    m->show();
}
